<!-- 
  图片上传方案：
    1. 前端主导的方案
       
       前端直接把图片上传到云服务器  -> 云服务器返回图片url -> 拼接一个合法的协议https/http
       -> 把当前的url当成接口参数传给后端 -> 后端把图片的url存到数据库

       注意点: 如果是前端主导上传  key不能存在js代码中 需要通过调用一个单独的接口获取一下key
               根据当前用户信息token 先把key拿到

    2. 后端主导方案
        前端调用接口准备一下一个FormData对象 把图片信息放入 -> 后端拿到传过来的图片信息 -> 
        后端拿到图片同样调用云服务器提供的sdk完成上传 -> 云服务器返给后端一个图片的url -> 存入数据库
        如果前端需求 再把这个url返给前端

  上传图片组件
    1. 准备elementui upload组件
       这个组件给到我们一些准备好的基础上传功能
         1. 点击就可以打开选择框
         2. 如果采用默认上传行为 它可以提供校验钩子函数 可以提供自动上传机制 可以提供上传成功之后的成功回调执行
         3. 如果不想采用默认的上传 完全想自己来写 http-request = "upload" 来采用自定义上传
         4. 自定义上传指的是 组件只提供一个上传前的校验函数 然后选择好图片之后会自动执行upload函数并且
            把当前的图片信息当成参数传入upload函数  拿到参数之后需要做什么事儿 完全自己写

    2. 图片组件最后的任务是啥？
       1. 完成把图片上传到云服务器
       2. 把这个新的url 通过接口传给后端更新当前员工的头像 (业务上的要求)

       因为图片的url是在子组件  调用接口更新的操作是在父组件

       父子通信
       props +  $emit (v-model的基础)

       
    3. v-model简化父子通信
       1. 自动绑定了一个名称value的属性
       2. 自动绑定了一个名称为input的自定义事件
       3. 在自定义事件绑定的回调函数中 会自动把触发自定义事时传出来的实参 赋值给 v-model绑定的响应式数据
 -->